﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Laxl
{
    class Program
    {
        static void Main(string[] args)
        {
        }
        static void test()
        {
            //九九乘法表


            //for (int i = 1; i <= 9; i++)
            //{
            //    for (int j = 0; j < i; j++)
            //    {
            //        Console.Write(i+"*"+(j+1)+"="+(i*(j+1))+" ");
            //    }
            //    Console.WriteLine();
            //}

            string[,] arr = new string[9, 9];

            for (int i = 0; i < arr.GetLength(0); i++)
            {
                for (int j = 0; j <= i; j++)
                {
                    arr[i, j] = ((i + 1) + "*" + (j + 1)) + "=" + ((i + 1) * (j + 1)) + "\t";
                    Console.Write(arr[i, j]);
                }
                Console.WriteLine();
            }


        }
        static void test1()
        {
            //用户输入正方形边长，用* 打印出空心正方形。

            Console.WriteLine("输入空心正方形边长");
            int a = int.Parse(Console.ReadLine());

            string[,] arr = new string[a, a];

            for (int i = 0; i < arr.GetLength(0); i++)
            {
                for (int j = 0; j < arr.GetLength(1); j++)
                {
                    if (i == 0 | i == arr.GetLength(0) - 1)
                    {
                        arr[i, j] = "*";
                    }
                    else
                    {
                        if (j == 0 || j == arr.GetLength(1) - 1)
                        {
                            arr[i, j] = "*";
                        }
                        else
                        {
                            arr[i, j] = " ";
                        }
                    }
                    Console.Write(arr[i, j]);

                }
                Console.WriteLine();
            }





        }
        static void test2()
        {
            Console.WriteLine("输入一个大于2的正整数");//至少3行才能出一个菱形，输入一个偶数菱形就是这个偶数减1行
            int n = Convert.ToInt32(Console.ReadLine());

            string[,] arr = new string[n, n];


            for (int i = 1; i <= (n + 1) / 2; i++) //打印菱形的上面部分
            {
                for (int j = (n - 1) / 2; j >= i; j--)
                {    //打印空格
                    arr[i, j] = " ";
                    Console.Write(arr[i, j]);
                }
                for (int k = 1; k <= i * 2 - 1; k++)
                {   //打印“*”号，第i行有i*2-1个“*”号
                    arr[i, k] = "*";
                    Console.Write(arr[i, k]);
                }
                Console.WriteLine();
            }
            for (int i = (n - 1) / 2; i >= 1; i--)//打印菱形下面的部分 与上面部分同理
            {
                for (int j = i - 1; j < (n - 1) / 2; j++)
                {
                    arr[i, j] = " ";
                    Console.Write(arr[i, j]);
                }
                for (int k = 1; k <= i * 2 - 1; k++)
                {
                    arr[i, k] = "*";
                    Console.Write(arr[i, k]);
                }
                Console.WriteLine();
            }




        }
        static void test3()
        {
            //在 Main 方法中创建一个字符串类型的数组，并存入 5 个值，然后将数组中下标是偶数的元素输出。

            string[] arr = { "1", "2", "3", "4", "5" };

            int index = -1;

            for (int i = 0; i < arr.GetLength(0); i++)
            {
                index = i;
                if (index % 2 == 0)
                {
                    Console.WriteLine(arr[i]);
                }
            }

        }

        static void test4()
        {
            //如果一个数组保存元素是有序的（从大到小），向这个数组中插入一个数，使得插入后的数组元素仍然保持有序。

            Console.WriteLine("输入空心正方形边长");
            int a = int.Parse(Console.ReadLine());

            string[,] arr = new string[a, a];

            for (int i = 0; i < arr.GetLength(0); i++)
            {
                for (int j = 0; j < arr.GetLength(1); j++)
                {
                    if (i == 0 | i == arr.GetLength(0) - 1)
                    {
                        arr[i, j] = "*";
                    }
                    else
                    {
                        if (j == 0 || j == arr.GetLength(1) - 1)
                        {
                            arr[i, j] = "*";
                        }
                        else
                        {
                            arr[i, j] = " ";
                        }
                    }
                    Console.Write(arr[i, j]);

                }
                Console.WriteLine();
            }
        }
        static void test5()
        {
            //            打印杨辉三角形（要求打印10行），如下所示：（使用二维数组）
            //1
            //1    1
            //1    2    1
            //1    3    3  1
            //1    4    6   4    1
            //1    5    10  10   5   1
            //1    6    15  20   15   6   1


            int[,] arr = new int[10, 10];




            for (int i = 0; i < 10; i++)
            {
                for (int j = 0; j <= i; j++)
                {
                    if (i == j || j == 0)
                    {
                        arr[i, j] = 1;
                        Console.Write(arr[i, j] + " ");
                    }
                    else
                    {
                        arr[i, j] = arr[i - 1, j - 1] + arr[i - 1, j];
                        Console.Write(arr[i, j] + " ");
                    }

                }
                Console.WriteLine();
            }

        }
    }
}
